home *** CD-ROM | disk | FTP | other *** search
/ Tiger Disk 120 / Tiger_Disk_120_20xx_Tiger-Crew-Disk_de_Side_C.d64 / high score (.txt) < prev    next >
Commodore BASIC  |  2023-02-26  |  13KB  |  436 lines

  1. 0 rem *********************************
  2. 1 rem * high score         vers.1.86  *
  3. 2 rem *                               *
  4. 3 rem *      klaus-dieter frohn       *
  5. 4 rem *                               *
  6. 5 rem *      falkenweg 12             *
  7. 6 rem *                               *
  8. 7 rem *      2200 elmshorn            *
  9. 8 rem *                               *
  10. 9 rem *********************************
  11. 10 ifpeek(787)=0thenpoke787,1:poke45,peek(174):poke46,peek(175):clr
  12. 20 ifpeek(787)=1thenpoke787,2:load"bild h-s",8,1
  13. 30 poke 787,0
  14. 40 poke53248+21,0
  15. 50 poke51,128:poke56,128
  16. 60 v=53248:sys695:printchr$(142):a=40448:pu=peek(1020)*256+peek(1021)
  17. 70 rem neuer zeichensatz **************
  18. 71 data 102,254,254,254,000,239,239,239,000
  19. 72 data 104,000,000,000,000,239,239,239,000
  20. 73 restore
  21. 74 forn=1to2:readd:d=57344+d*8:fori=dtod+7:reade:pokei,e:nexti:nextn
  22. 90 goto1610
  23. 100 rem
  24. 101 rem *******************************
  25. 103 rem * laden des high score pegel  *
  26. 104 rem *******************************
  27. 109 rem
  28. 110 open15,8,15,"i0":gosub910:cr$=chr$(13):i=1
  29. 120 open2,8,2,"0:h - s,s,r":gosub910
  30. 130 input#2,n$(i),p(i):rs=st:gosub910
  31. 140 ifr s=64then close2:return
  32. 150 if rs<>0then180
  33. 160 i=i+1:ifi=10then close2:return
  34. 170 goto130
  35. 180 print"[154]status fehler "rs:close2
  36. 190 return
  37. 200 rem
  38. 201 rem *******************************
  39. 202 rem * high score sortierung       *
  40. 203 rem *******************************
  41. 209 rem
  42. 210 ifpu<p(9)thenreturn
  43. 211 ifpu>p(9)thenp(9)=pu:n$(9)=n$
  44. 212 ifpu>p(8)thenp(9)=p(8):n$(9)=n$(8):p(8)=pu:n$(8)=n$
  45. 220 ifpu>p(7)thenp(8)=p(7):n$(8)=n$(7):p(7)=pu:n$(7)=n$
  46. 230 ifpu>p(6)thenp(7)=p(6):n$(7)=n$(6):p(6)=pu:n$(6)=n$
  47. 240 ifpu>p(5)thenp(6)=p(5):n$(6)=n$(5):p(5)=pu:n$(5)=n$
  48. 250 ifpu>p(4)thenp(5)=p(4):n$(5)=n$(4):p(4)=pu:n$(4)=n$
  49. 260 ifpu>p(3)thenp(4)=p(3):n$(4)=n$(3):p(3)=pu:n$(3)=n$
  50. 270 ifpu>p(2)thenp(3)=p(2):n$(3)=n$(2):p(2)=pu:n$(2)=n$
  51. 280 ifpu>p(1)thenp(2)=p(1):n$(2)=n$(1):p(1)=pu:n$(1)=n$
  52. 290 return
  53. 300 rem
  54. 301 rem ******************************
  55. 302 rem * schreiben des high scores  *
  56. 303 rem *   auf diskette             *
  57. 304 rem ******************************
  58. 309 rem
  59. 310 forn=0to20:print:next:print" [150]                                     [146]"
  60. 311 print" [150] schreiben des high scores auf disk  [146]"
  61. 312 print" [150]                                     [146]"
  62. 320 forn=0to9:print:next
  63. 330 cr$=chr$(13):i=1
  64. 340 open2,8,2,"@0:h - s,s,w":gosub910
  65. 350 print#2,n$(i)","str$(p(i))cr$
  66. 360 gosub910
  67. 370 i=i+1:ifi=10then390
  68. 380 goto350
  69. 390 close2:close15:return
  70. 400 rem
  71. 401 rem ******************************
  72. 402 rem * anzeigen des high scores   *
  73. 403 rem ******************************
  74. 409 rem
  75. 410 poke53280,0:poke53281,0:print"[147]":sys828,1:print"[154]";
  76. 420 fori=1to3
  77. 421 : ifp(i)<   10thenprinttab(11)p(i);:goto426
  78. 422 : ifp(i)<  100thenprinttab(10)p(i);:goto426
  79. 423 : ifp(i)< 1000thenprinttab( 9)p(i);:goto426
  80. 424 : ifp(i)<10000thenprinttab( 8)p(i);:goto426
  81. 425 : printtab(7)p(i);
  82. 426 : printtab(15)n$(i)
  83. 427 : print
  84. 428 next
  85. 429 print""
  86. 430 fori=4to9
  87. 431 : ifp(i)<   10thenprinttab(11)p(i);:goto436
  88. 432 : ifp(i)<  100thenprinttab(10)p(i);:goto436
  89. 433 : ifp(i)< 1000thenprinttab( 9)p(i);:goto436
  90. 434 : ifp(i)<10000thenprinttab( 8)p(i);:goto436
  91. 435 : printtab(7)p(i);
  92. 436 : printtab(15)n$(i)
  93. 437 : print
  94. 438 next
  95. 439 z=0:c=0
  96. 440 print"[150]           bitte joy bewegen!         [146]"
  97. 450 j=peek(56320)
  98. 451 if(jand4)=0thenreturn
  99. 452 if(jand8)=0thenreturn
  100. 453 if(jand1)=0thenreturn
  101. 454 if(jand2)=0thenreturn
  102. 455 if(jand16)=0thenreturn
  103. 456 c=c+1:ifc=50thenc=0:goto460
  104. 460 ifz=0thenz=1:goto470
  105. 461 ifz=1thenz=0:goto440
  106. 470 print"           bitte joy bewegen!         [146]"
  107. 471 goto450
  108. 500 rem
  109. 501 rem ******************************
  110. 502 rem * abfrage ob neues spiel     *
  111. 503 rem ******************************
  112. 509 rem
  113. 510 poke1020,0:poke1021,0:poke2,1:poke787,0:poke2,1
  114. 520 print"[154]wollen sie ein neues spiel?"
  115. 521 print" werden?"
  116. 522 print"    benutze den joystick !"
  117. 523 print"[155]          joy nach oben  =   ja"
  118. 524 print"          joy nach unten =  nein"
  119. 525 print"          feuerknopf     =  weiter"
  120. 529 sysa,10,10," ja ":z=1
  121. 530 poke56320,127
  122. 532 j=peek(56320)
  123. 533 if(jand1)=0then529
  124. 534 if(jand2)=0then540
  125. 535 if(jand16)=0then537
  126. 536 goto530
  127. 537 ifz=0thengosub550:goto595
  128. 538 ifz=1thengosub550:goto590
  129. 539 goto530
  130. 540 sysa,10,10,"nein":z=0
  131. 541 goto530
  132. 550 forn=0to20:print:next:print" [150]                                     [146]"
  133. 551 print" [150]      das programm wird geladen      [146]"
  134. 552 print" [150]                                     [146]"
  135. 553 return
  136. 590 load"c/game",8
  137. 595 load"menue",8
  138. 600 rem
  139. 601 rem *******************************
  140. 602 rem * bild und sprites ein        *
  141. 608 rem *******************************
  142. 609 rem
  143. 610 print"[147]":sys828,2:b=0:n$=""
  144. 620 poke53240,12:poke53241,13:poke53242,21
  145. 630 pokev+39,9:pokev+40,7:pokev+41,11
  146. 640 pokev+23,7:pokev+29,7
  147. 650 x=33:y=112:pokev,x:pokev+2,x:pokev+4,19
  148. 660 pokev+1,y-26:pokev+3,y:pokev+5,119
  149. 670 pokev+16,7:pokev+21,7
  150. 680 gosub710
  151. 690 return
  152. 700 rem
  153. 701 rem *******************************
  154. 702 rem * geraeuschkulisse ein        *
  155. 708 rem *******************************
  156. 709 rem
  157. 710 s=54272
  158. 720 forl=0to24:pokes+l,0:next
  159. 730 pokes+14,5:pokes+18,16:pokes+3,1:pokes+24,143:pokes+6,240:pokes+4,65
  160. 740 return
  161. 750 rem
  162. 751 rem *******************************
  163. 752 rem * sondergeraeusch             *
  164. 758 rem *******************************
  165. 759 rem
  166. 760 forl=0to24:pokes+l,0:next
  167. 770 pokes+14,5:pokes+18,16:pokes+3,1:pokes+24,143:pokes+6,240:pokes+4,131
  168. 790 return
  169. 800 rem
  170. 801 rem *******************************
  171. 802 rem * abfragung ob loeschen      *
  172. 808 rem ******************************
  173. 809 rem
  174. 810 print" [150]sollen die ersten drei mit geloescht"
  175. 811 print" werden?"
  176. 812 print"    benutze den joystick !"
  177. 813 print"[155]          joy nach oben  =   ja"
  178. 814 print"          joy nach unten =  nein"
  179. 815 print"          feuerknopf     =  weiter"
  180. 820 sysa,10,10," ja ":z=1
  181. 830 poke56320,127
  182. 832 j=peek(56320)
  183. 833 if(jand1)=0then820
  184. 834 if(jand2)=0then840
  185. 835 if(jand16)=0then837
  186. 836 goto830
  187. 837 ifz=0then860
  188. 838 ifz=1then850
  189. 839 goto830
  190. 840 sysa,10,10,"nein":z=0
  191. 841 goto830
  192. 850 forn=1to3
  193. 851 : n$(n)="*":p(n)=0
  194. 852 : next
  195. 860 forn=4to9
  196. 861 : n$(n)="*":p(n)=0
  197. 862 : next
  198. 870 return
  199. 899 goto899
  200. 900 rem
  201. 901 rem ******************************
  202. 902 rem * error auf disk             *
  203. 903 rem ******************************
  204. 909 rem
  205. 910 :
  206. 920 input#15,en,em$,et,es
  207. 930 :
  208. 940 if en=0then return
  209. 950 print"[150]error auf der disk";
  210. 960 printen;em$;et;es
  211. 970 close2
  212. 990 return
  213. 1000 rem
  214. 1001 rem ******************************
  215. 1002 rem * punkte in gross an         *
  216. 1003 rem ******************************
  217. 1009 rem
  218. 1010 print"":ifpu<   10thensysa,18,13,pu:goto1020
  219. 1011 ifpu<  100thensysa,18, 9,pu:goto1020
  220. 1012 ifpu< 1000thensysa,18, 5,pu:goto1020
  221. 1013 ifpu<10000thensysa,18, 1,pu:goto1020
  222. 1014 pu$=str$(pu):pu$=right$(pu$,5):sysa,18,1,pu$
  223. 1020 pokes+1,2:d=0
  224. 1021 j=peek(56320)
  225. 1022 if(jand1)=0thenb=0:b$="":sysa,18,35,chr$(32)
  226. 1023 if(jand2)=0andb=1thend=0:goto1410
  227. 1024 if(jand4)=0thend=0:goto1110
  228. 1025 if(jand16)=0thenb=0:pokes+24,0:d=0:goto1510
  229. 1026 d=d+1:ifd=5thend=0:pokes+1,2
  230. 1027 goto1021
  231. 1100 rem
  232. 1101 rem ******************************
  233. 1102 rem * wagen zu den buchstaben    *
  234. 1108 rem ******************************
  235. 1109 rem
  236. 1110 pokes+1,3
  237. 1120 forx=33to0step-1
  238. 1130 pokev,x:pokev+2,x
  239. 1140 next
  240. 1150 pokev+16,4
  241. 1160 forx=255to245step-1
  242. 1170 :
  243. 1180 pokev,x:pokev+2,x
  244. 1190 next
  245. 1200 rem
  246. 1201 rem ******************************
  247. 1202 rem * wagen ueber den buchstaben *
  248. 1208 rem ******************************
  249. 1209 rem
  250. 1210 pokes+1,2:d=0
  251. 1211 j=peek(56320)
  252. 1212 rem if(jand1)=0then****
  253. 1213 if(jand2)=0thend=0:goto1332
  254. 1214 if(jand4)=0andx>28thend=0:gosub1322
  255. 1215 if(jand8)=0andx<252thend=0:gosub1312
  256. 1216 if(jand8)=0andx=252thend=0:goto1382
  257. 1217 d=d+1:ifd=5thend=0:pokes+1,2
  258. 1219 goto1211
  259. 1300 rem
  260. 1301 rem ******************************
  261. 1302 rem * laufroutinen               *
  262. 1308 rem ******************************
  263. 1309 rem
  264. 1310 rem wagen 1 feld links ***********
  265. 1311 rem
  266. 1312 pokes+1,3
  267. 1313 forn=1to8
  268. 1314 x=x+1:pokev,x:pokev+2,x
  269. 1315 next
  270. 1316 return
  271. 1319 rem
  272. 1320 rem wagen 1 feld rechts **********
  273. 1321 rem
  274. 1322 pokes+1,3
  275. 1323 forn=1to8
  276. 1324 x=x-1:pokev,x:pokev+2,x
  277. 1325 next
  278. 1326 return
  279. 1329 rem
  280. 1330 rem korb herunter ****************
  281. 1331 rem
  282. 1332 gosub760:pokes+1,180
  283. 1333 forn=0to3
  284. 1334 fort=0to50:next
  285. 1335 poke53241,peek(53241)+1
  286. 1336 next:gosub710:pokes+1,3
  287. 1339 rem
  288. 1340 rem buchstabenberechnung *********
  289. 1341 rem
  290. 1342 :
  291. 1343 b$=chr$(int(x/8)+61)
  292. 1344 ifb$=chr$(64)thenb$=chr$(45)
  293. 1345 ifb$=chr$(91)thenb$=chr$(32)
  294. 1346 print"[159]":sysa,18,35,b$
  295. 1349 rem
  296. 1350 rem buchstabe uebernehmen ********
  297. 1351 rem
  298. 1352 d=0
  299. 1353 j=peek(56320)
  300. 1354 if(jand1)=0thend=0:goto1362
  301. 1355 if(jand16)=0thenb=1:d=0:goto1372
  302. 1356 d=d+1:ifd=5thend=0:pokes+1,2
  303. 1357 goto1353
  304. 1359 rem
  305. 1360 rem buchstabe loeschen ***********
  306. 1361 rem
  307. 1362 b$="":sysa,18,35," "
  308. 1363 gosub760:pokes+1,180
  309. 1364 forn=0to3
  310. 1365 fort=0to50:next
  311. 1366 poke53241,peek(53241)-1
  312. 1367 next:gosub710:pokes+1,3
  313. 1368 goto1210
  314. 1369 rem
  315. 1370 rem wagen zurueck zum start ******
  316. 1371 rem
  317. 1372 gosub760:pokes+1,180
  318. 1373 forn=0to3
  319. 1374 fort=0to50:next:poke53241,peek(53241)-1:next:gosub710:pokes+1,3
  320. 1375 gosub710:pokes+1,3
  321. 1376 forx=xto255
  322. 1377 pokev,x:pokev+2,x:next:pokev+16,7
  323. 1378 forx=0to33:pokev,x:pokev+2,x:next
  324. 1379 goto1020
  325. 1380 rem wagen zum start
  326. 1381 rem
  327. 1382 pokes+1,3
  328. 1383 forx=252to255
  329. 1384 pokev,x:pokev+2,x
  330. 1385 next:pokev+16,7
  331. 1386 forx=0to33
  332. 1387 pokev,x:pokev+2,x
  333. 1388 next
  334. 1389 goto1020
  335. 1400 rem
  336. 1401 rem ******************************
  337. 1402 rem * buchstabe wird uebergeben  *
  338. 1408 rem ******************************
  339. 1409 rem
  340. 1410 gosub760:pokes+1,180
  341. 1411 forn=1to7
  342. 1412 poke53241,peek(53241)+1
  343. 1413 fort=0to50:next
  344. 1414 next:gosub710
  345. 1420 gosub760:pokes+1,180
  346. 1421 forn=1to7
  347. 1422 poke53241,peek(53241)-1
  348. 1423 fort=0to50:next
  349. 1424 next:gosub710
  350. 1430 gosub760:pokes+1,225
  351. 1431 forn=1to6
  352. 1432 poke53242,peek(53242)+1
  353. 1433 fort=0to50:next
  354. 1434 next:gosub710
  355. 1440 n$=n$+b$
  356. 1441 wl=len(n$)
  357. 1442 print"[150]"tab(32-wl)n$
  358. 1443 b$=""
  359. 1445 sysa,18,35,chr$(32)
  360. 1450 gosub760:pokes+1,245
  361. 1451 forn=1to6
  362. 1452 poke53242,peek(53242)-1
  363. 1453 fort=0to50:next
  364. 1454 next:gosub710:pokes+1,3
  365. 1460 rem ifwl=18thenb=0:goto*sicherheitsabfrage*
  366. 1470 gosub710
  367. 1480 goto1020
  368. 1500 rem
  369. 1501 rem ******************************
  370. 1502 rem * sicherheitsabfrage         *
  371. 1503 rem ******************************
  372. 1509 rem
  373. 1510 pokev+21,0:pokev+16,0:z=0
  374. 1520 print"[147]"tab(4)"sie gaben folgenden namen ein:"
  375. 1530 print"[158]"tab(20-(len(n$)/2))n$
  376. 1540 sysa,10,10," ja ":z=1
  377. 1550 j=peek(56320)
  378. 1551 if(jand1)=0then1540
  379. 1552 if(jand2)=0then1560
  380. 1553 if(jand16)=0andz=1then1650
  381. 1554 if(jand16)=0andz=0thenn$="":goto1630
  382. 1555 goto1550
  383. 1560 sysa,10,10,"nein":z=0
  384. 1561 goto1550
  385. 1600 rem
  386. 1601 rem ******************************
  387. 1602 rem * programm steuerung         *
  388. 1608 rem ******************************
  389. 1609 rem
  390. 1610 ifpeek(1022)=255thenpoke1022,0:goto1710
  391. 1620 gosub110:rem lesen von disk
  392. 1630 gosub610:rem bild ein
  393. 1640 goto1010:rem namensabfragung
  394. 1650 gosub210:rem sortierung
  395. 1660 gosub310:rem schreiben auf disk
  396. 1670 gosub410:rem anzeigen
  397. 1680 goto 510:rem laden des spiels
  398. 1700 rem
  399. 1701 rem ******************************
  400. 1702 rem * high score loeschen +      *
  401. 1703 rem *            anzeigen        *
  402. 1708 rem ******************************
  403. 1709 rem
  404. 1710 gosub 110:rem lesen von disk
  405. 1720 gosub 410:rem anzeigen
  406. 1730 gosub1810:rem abfrage loeschen
  407. 1740 gosub 310:rem schreiben auf disk
  408. 1750 gosub 410:rem anzeigen
  409. 1760 :
  410. 1770 :
  411. 1780 :
  412. 1790 goto  510:rem laden des spiel
  413. 1800 rem
  414. 1801 rem ******************************
  415. 1802 rem * abfragung ob loeschen      *
  416. 1808 rem ******************************
  417. 1809 rem
  418. 1810 print" [150]soll der high-score geloescht werden?"
  419. 1811 print
  420. 1812 print"    benutze den joystick !"
  421. 1813 print"[155]          joy nach oben  =   ja"
  422. 1814 print"          joy nach unten =  nein"
  423. 1815 print"          feuerknopf     =  weiter"
  424. 1820 sysa,10,10," ja ":z=1
  425. 1830 poke56320,127
  426. 1832 j=peek(56320)
  427. 1833 if(jand1)=0then1820
  428. 1834 if(jand2)=0then1840
  429. 1835 if(jand16)=0then1837
  430. 1836 goto1830
  431. 1837 ifz=0thenreturn
  432. 1838 ifz=1thengoto810
  433. 1839 goto1830
  434. 1840 sysa,10,10,"nein":z=0
  435. 1841 goto1830
  436.